# !usr/bin/env python
# -*- coding:utf-8 _*-
"""
@Author:张广勤
@Web site: https://www.tunan.wang
@Github:www.github.com
 
@File:Yi4_0.py
@Time:2024/8/7 16:20

@Motto:不积跬步无以至千里，不积小流无以成江海！
"""
# 定义八卦的卦象（二进制表示，0为阴，1为阳）和名称
bagua = [
    ("000", "坤"),
    ("001", "艮"),
    ("010", "坎"),
    ("011", "巽"),
    ("100", "震"),
    ("101", "离"),
    ("110", "兑"),
    ("111", "乾")
]

# 定义一个函数来生成六十四卦
def generate_hexagrams():
    hexagrams = []
    # 遍历八卦作为上卦
    for upper in bagua:
        # 遍历八卦作为下卦
        for lower in bagua:
            # 组合上卦和下卦的卦象
            hexagram_image = upper[0] + lower[0]
            # 组合上卦和下卦的卦名（通常使用“XX卦”的形式，但这里只使用纯名称）
            # 注意：这里简单地将两个名称拼接在一起，实际卦名可能更复杂
            hexagram_name = upper[1] + lower[1]
            # 将卦象和卦名作为一个元组添加到列表中
            hexagrams.append((hexagram_image, hexagram_name))
    return hexagrams

# 生成六十四卦
hexagrams = generate_hexagrams()

# 打印六十四卦的卦象和卦名
for i, (image, name) in enumerate(hexagrams, 1):
    print(f"第{i}卦: {image} {name}")


with open ("yi1_0.csv",mode="w",encoding="utf-8") as f:
    for i, (image, name) in enumerate(hexagrams, 1):
        f.write(f"{i},{i-1},{image},{name}\n")


# 注意：上面的代码简单地将两个八卦的名称拼接在一起作为六十四卦的名称，
# 但在实际中，六十四卦的名称通常更复杂，且有自己的特定含义。
# 如果你需要准确的六十四卦名称，你需要一个包含这些名称的列表，
# 并在生成六十四卦时根据上卦和下卦的组合来选择正确的名称。